package com.imooc.order.dataobject;



import com.imooc.order.enums.OrderStatusEnum;
import com.imooc.order.enums.PayStatusEnum;
import lombok.Data;
import org.hibernate.annotations.DynamicUpdate;

import javax.persistence.Entity;
import javax.persistence.Id;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @author steve
 * @date 2020/5/7 13:49
 */
@Entity
@Data
@DynamicUpdate
public class OrderMaster implements Serializable {

    private static final long serialVersionUID = -4321140626552105638L;
    /** 订单id. */
    @Id
    private String orderId;

    /** 买家名字 */
    private String buyerName;

    /** 买家电话 */
    private String buyerPhone;

    /** 买家地址 */
    private String buyerAddress;

    /** 买家微信openid */
    private String buyerOpenid;

    /** 订单总金额 */
    private BigDecimal orderAmount;

    /** 订单状态, 默认0新订单 */
    private Integer orderStatus = OrderStatusEnum.NEW.getCode();

    /** 支付状态，默认0未支付 */
    private Integer payStatus = PayStatusEnum.WAIT.getCode();

    /** 创建时间 */
    private Date createTime;

    /** 更新时间 */
    private Date updateTime;

    /**
     * 订单详情
     * 不在OrderMaster表中添加是因为：
     *    OrderMaster既要给数据库用，又要给外部的Controller用，会显得有点乱
     * @Transient注解 忽略该字段，数据库不会对应上

    @Transient
    private List<OrderDetail> orderDetailList;

     */

}
